package com.cskaoyan.javase.basic._5scanner;

/**
 * @description: 键盘录入
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

import java.util.Scanner;

/**
 * Scanner键盘录入的使用,三步走:
 *      1.导包(挖坑后面讲)
 *      2.创建对象
 *      3.调用方法
 * 导包使用import关键字,导入的是java.util.Scanner
 * 创建对象:
 *      Scanner sc = new Scanner(System.in);
 * 调用方法:
 *      根据不同的需求调用不同的方法
 *      比如想要录入一个int整数,调用nextInt()方法
 *      想要录入字符串,调用next()/nextLine()方法
 *
 * 使用Scanner键盘录入的注意事项:
 *      1.为了避免忘记键盘录入,所以建议在做录入之前给出友好提示
 *      2.键盘录入时,要录入正确的数据,否者会导致程序报错
 *      3.Scanner键盘录入时有很多个方法可供选择,我们需要知道它们的区别
 *
 * 我们把Scanner中的方法分为两类:
 *      1.next/nextInt/nextDouble等,称之为next系列方法
 *          扫描是从第一个非空的字符开始的,并且只要碰到空格(空格/回车/制表等)就结束
 *
 *      2.nextLine方法
 *          是完整的接收一行字符串,扫描从第一个字符就开始了(不论是什么字符),必须通过换行(回车)结束扫描
 *
 * 如果在调用nextInt方法之后,直接调用nextLine会导致nextLine方法直接接收一个空字符,而不能正常运行
 * 原因在于回车被作为nextLine方法的结束控制,导致nextLine没有接收到任何字符,得到了一个空字符
 *
 */
public class Demo {
    public static void main(String[] args) {
        System.out.println("请输入一个int整数:");
        Scanner sc = new Scanner(System.in);
        /*int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);*/

        /*String s = sc.nextLine();
        String s2 = sc.nextLine();
        String s3 = sc.nextLine();
        System.out.println(s);*/

        int a = sc.nextInt();
        System.out.println("请输入一行字符串:");
        //sc.nextLine();
        String s = sc.nextLine();
        System.out.println(a);
        //String类中有一个方法.length 可以获取它的长度
        System.out.println(s.length());
        System.out.println(s + "hello");
    }
}
